MABRY SOFTWARE PRODUCT LIST - April 18, 1997 Listed below are the products Mabry Software currently has in the market. If there's a control that you want or need and you don't see it here --- ask! If we write it to distribute, you'll get a free copy. All of the OCX controls, except the Internet controls, come with VBX, OCX- 16, and OCX-32 versions. Each Mabry product comes with one or more sample projects to show you how to use the control. Source code, which is written in C (C++ for OCXes), is also available for all controls. Our Web page (www.mabry.com) is the key to the best and most efficient service from Mabry. It is our focal point for distribution of the latest demo versions and information about Mabry Software and Mabry products. Save yourself time and trouble by checking there first before contacting Mabry Software directly. We're always happy to hear from you, but we think you will appreciate the information you can obtain from our Web site. The registration fee is "per developer" and distribution is royalty free in executable applications. We are working on upgrading all of the VBXes to OCXes. You can find fully functional samples of our controls on our WEB site, http://www.mabry.com, and on CompuServe (GO MABRY). INTERNET CONTROLS All controls include a help file that gives a detailed Internet communications overview. These controls are available as VBXes and 32-bit OCXes. INTERNET PACK. This package contains nine controls for giving your applications access to the Internet. All of them are VBXes and 32-bit OLE controls (OCXes) ready to run under Windows 3.1x, Windows 95 or Windows NT. The controls support FINGER, FTP, GOPHER, MAIL (SMTP/POP), NEWS (NNTP), RAS, TIME and WHOIS. GETHST resolves IP addresses and ASOCKET gives you direct access to Windows sockets. ASOCKET provides sequenced, reliable, full-duplex connection-based byte streams. Uses the Transmission Control Protocol (TCP). It also supports datagrams using the User Datagram Protocol (UDP). FINGER requests user information from another host. Typical information includes last data of logon, mail waiting, real name, address, phone number. FINGER complies with RFC 1288. FTP allows you to log onto remote hosts to transfer files to and from the remote host. FTP complies with RFC 959. GETHST allows you to translate from host name to IP address, and IP address to host name. GOPHER encapsulates the Gopher Protocol used to provide access to documents and files, and to search databases available on the Internet. MAIL encapsulates the Simple Mail Transfer Protocol (SMTP) and the Post Office Protocol (POP) for managing e-mail on the Internet. MAIL supports attachments. NEWS provides easy access to Network News Transfer Protocol (NNTP) servers as specified in RFC 977. It supports user authentication protocol and is unique in providing access to non-standard server commands though READ/WRITE methods. RAS gives your programs easy access to the RAS sub-system. The RAS sub-system allows a computer to connect to an Internet server. Using the RAS control, you can automate tasks ranging from mail box processing to automatic updates of your Web site (using FTP). Your program can select an Internet service from your phone book, dial and connect to the server, do any processing necessary (using our other Internet controls), and then disconnect. TIME encapsulates the Network Time Protocol (NTP) to allow you to retrieve the Greenwich Mean Time from supporting hosts on the Internet. The TIME control allows you to develop time synchronization applications for your system (among other things). Incorporating this control into your application allows you to request the Greenwich Mean time from any time-server that you select. WHOIS provides access to the WHOIS servers on the Internet. By incorporating WHOIS into your applications, you may query for information about hosts, users, and businesses who have accounts on the Internet. MISC. CUSTOM CONTROLS ALARM is a Visual Basic custom control that lets you set multiple alarms to go off (i.e., fire events) at various times during the day. This control makes it easy to schedule events. Just set the properties and wait for ALARM to notify you. You can specify such times as 9:12 AM, 10:45 PM, every hour on the hour, every ten minutes, once per minute, etc. ALARM even tells you when the date has changed. You can use this to remove all of the current alarms and set new ones for the day. A must if you're writing a PIM. (Personal Information Manager). BARCOD makes barcode display and printing really easy. Just pick the orientation, set the size, and pick the barcode style. Then, set the caption to whatever you want the bars to be. BARCOD uses the Caption property to determine what to display. ForeColor is used for the color of the Bars. BackColor is used for the color of the background. If BARCOD cannot fit the entire barcode in the control window, it will fill the entire control with the background color. Printing is straightforward, too. Just tell BARCOD what to print and where, and it paints barcodes into the Printer Object. Under VB 3.0 and VB 4.0, BARCOD will bind to a data control. It uses the DataField, DataSource, and DataChanged properties. This control is good for inventory applications, identification systems, and any other programs that require printed computer-readable data. Samples included show how to print barcodes using the Printer Object and how to copy a bitmap of the barcode to the clipboard. BMPLST is a Visual Basic custom control that displays a list box that has text and bitmaps in it. The bitmaps can be placed on any side of the text (top, bottom, right, left). BMPLST is not hampered by the normal 64K limit that normal list boxes suffer. Users have loaded 10,000 items into BMPLST with great success. BMPLST supports multi-column lists. In this case, all of the list elements must be the same size. The bitmaps may be of varying size shorter bitmaps will result in gaps between it and the item below). BMPLST also supports 3-D effects (much like THREED.VBX). The control's border supports raised, lowered, and insert 3- D effects (plus the normal solid border). BMPLST can easily be set up to handle a check-box list. All it takes is a few lines of code. A working sample with all of the bitmaps required to produce this style of list box is included with the BMPLST package. DFINFO gives you disk and file information that VB doesn't provide. It also allows you to change some aspects of a file (attributes, size, date, time, etc.). The disk side of this control allows you to find out how much disk space you have, and how much of it is free. You can also read volume names. The file side of this control allows you to find out all of the important information about a file (size, attribute flags, date and time of last modification). It also allows you to change most of the attribute flags and change the size of the file as well. FLABEL is a label control that lets you format the text within it. You can have different fonts, different colors, multiple paragraphs, paragraph formatting, etc. All this and it's bound, too. FMDROP notifies you when a file has been dragged and dropped from the Windows File Manager (FILEMAN). HITIME is a high resolution timer. You use this control just like the default Timer control that comes with Visual Basic. Visual Basic's Timer control can only fire an event every 55 milliseconds (18.2 times per second). HITIME can fire events at a much higher rate. How high depends on the speed of your machine. 486D2/66s can handle more than 500 ticks per second. INICON makes INI file access simple. WIN.INI and private INI file access are both supported. No API calls required. JOYSTK gives your program information and events about the joystick's movement and buttons. One or two normal joysticks, or one 3-D joystick are supported. JOYSTK (VBX only ) comes with a joystick driver for Windows (required). This driver supports 4-button joysticks (such as the Gravis PC GamePad). LED behaves like an LED. 3-D effects and colors are all user-definable. This control is useful whenever you need a passive on/off indicator (modem lights, working lights, etc.). MENUEV provides menu selection notification. In other words, it tells you when the user has selected a menu item. This is useful for status bar-style help. MENUEV is extremely easy to use. All you need to do is place it on your form. There's nothing to set. Events start coming in automatically. The events give you the text of the menu item selected. Also, MENUEV will automatically update another control for you. You can easily make status bar style help merely by setting a couple of properties. No code required. MSLOT provides simple interprocess communication between programs running on the same or different computers. This control enables you to create and use Windows for Workgroups mailslots. A mailslot is an application-defined buffer that receives and holds messages. Applications create mailslots so that they can receive text or data from other applications on one or more computers in a network. No Windows API calls required. Requires Windows for Workgroups. Includes network chat sample program. MSSTAT is a status bar for Visual Basic. This control displays a multi-element status bar on the bottom of your form. It automatically handles the NumLock, CapsLock, ScrollLock, and Insert key indicators. It also displays times/dates in International and programmer-defined formats. PERCNT displays a percentage bar on your form. This makes status reporting very easy. 3-D effects, fonts, and colors are all at your control. PICBTN is a command button that has both text and a picture on it. The picture can be scaled and placed above, below, to the right, or to the left of the text. The text may be multi-line. PROBE lets you examine and modify other controls' properties at run-time. After telling PROBE the name of another control, PROBE will give you a list of the properties in that control. PROBE can also display a dialog box that will let you modify other controls' properties (at run-time). The dialog box makes it possible to fiddle with the properties of other controls at run-time. Common dialog boxes are used for fonts and colors to make selection easier. ROTEXT lets you place a label on your forms at any angle or degree of rotation. This control can be bound to a data control. SOUNDX provides Soundex and Metaphone algorithms. Soundex and Metaphone convert words or names to codes that represent how they "sound". This can be really useful in a database application where users need to find names they may not know how to spell exactly. Use this control to make it easier for them. Just put in the word or name you want converted, and the appropriate codes come out. TIPS provides Microsoft(r) style tool tips. Small windows pop up with bits of info when the user pauses the mouse over your controls. No code required, just set the Tag properties. TIPS attaches itself to the hWnd property of a control. VALIDATE makes data validation much easier. This control allows you to collect all of the data validation code for a form into one event procedure. This results in smaller and more maintainable code. Validate only works with controls that have an hWnd property. VER lets you use the functionality of VER.DLL through properties. It makes getting version information from a file (EXE, DLL, VBX, etc.) very easy. VER also gives you file installation functionality. Included with the control is a sample installation/setup utility. This makes it easier for you to write your own installation utilities without the bulk of the Setup Wizard. WAVE makes it easy for you to play and get information about WAV files. Play WAV files in the background as your program performs other tasks; add recorded speech to your applications; this is very straightforward. Set the Filename property and tell it to go. That's it. WAVE requires a sound card. ZIPINF gives you information about the content (directory) of a ZIP file. Many, many uses (File Manager replacement, drive searching, etc.). MEGA PACK. The MEGA PACK contains twelve of our most popular controls for Visual Basic (ALARM, BARCOD, BMPLST, DFINFO, FMDROP, INICON, JOYSTK, MENUEV, PERCNT, ROTEXT, SOUNDX, and ZIPINF). Why buy them one-by-one? Get all of these controls at once. Even if you already own control packages from Sheridan, Crescent, or MicroHelp, you should get this package. The controls cover areas that the major packages miss. MEGA PACK 2. The MEGA PACK 2 contains twenty-two of our controls (ALARM, BARCOD, BMPLST, DFINFO, FLABEL, FMDROP, HITIME, INICON, JOYSTK, LED, MENUEV, MSLOT, MSSTAT, PERCNT, PICBTN, PROBE, ROTEXT, SOUNDX, TIPS, VER, WAVE, and ZIPINF). MIDI CONTROLS MIDIFILE provides the Visual Basic programmer with an easy way to read and write MIDI files, both formats 0 (single track) and 1 (multiple tracks). Using the MIDIFILE control, you can modify existing MIDI files or create entirely new ones from scratch. You have complete control over and access to every type of MIDI message, and you can insert, delete, and modify tracks and messages at anytime. MIDI I/O is really two controls in one. The MIDIIN control handles the MIDI input and the MIDIOUT control handles the MIDI output. The MIDIIN control is used to receive MIDI messages from external MIDI devices. Messages can be retrieved using Events or polling, and are time-stamped with millisecond accuracy. The MIDIIN control has an internal queuing mechanism so if messages arrive faster than your application can handle them, they will not be lost. The MIDIOUT control gives you complete control over the contents and timing of MIDI messages sent to either internal or external MIDI devices. You can queue as many messages as you like (within the constraints of available memory) before starting output, or you can queue one or more messages prior to starting output and then add more as the output proceeds. Messages are scheduled for transmission at a time you specify relative to the time that output is started. As with the MIDIIN control, timing has millisecond resolution, giving you the ability to precisely control the timing of sent MIDI messages. SLIDER provides horizontal and vertical sliders. You can select from different slider styles, track styles, colors, ticks, etc. INDICATOR shows a gauge that looks like those found on the front of stereos (tri-color, multiple lights). This control includes horizontal and vertical versions of the indicator. KNOB is a knob. You can change the size, have tick marks around it, have text near the tick marks, change some of the colors, etc. You can use KNOB to control volume, pitch, tempo, or anything else you might control with a scroll bar or slider. MIDI PACK is made up of five controls. Two controls give you MIDI device file access (MIDI I/O and MIDIFILE). The other three controls are interface widgets that give feedback (INDICATOR) and user input (KNOB and SLIDER). MABRY SOFTWARE PRICE LIST - Janary 12, 1997 Fully functional samples of our controls are on our Web site, www.mabry.com and on CompuServe (GO MABRY). SWREG SWREG ID Control US$ ID Control+Source(C) US$ 1475 Alarm +OCX 15.00 1476 Alarm 30.00 1314 BarCod +OCX 35.00 1315 Barcod 90.00 1059 BmpLst VBX 20.00 1060 BmpLst 45.00 1069 DFInfo +OCX 15.00 1070 DFInfo 35.00 4352 FLabel +OCX 20.00 4353 FLabel 50.00 1378 FMDrop +OCX 15.00 1379 FMDrop 35.00 3382 HiTime +OCX 20.00 3383 HiTime 45.00 833 Inicon +OCX 15.00 1003 Inicon 30.00 1340 JoyStk +OCX 15.00 1341 JoyStk 35.00 3380 LED +OCX 15.00 3381 LED 35.00 1270 MenuEv VBX 15.00 1271 MenuEv 30.00 1848 MSlot VBX 30.00 1849 MSlot 50.00 4462 MSStat VBX 20.00 4463 MSStat 45.00 966 PerCnt +OCX 15.00 1004 PerCnt 30.00 3434 PicBtn +OCX 15.00 3435 PicBtn 50.00 2449 Probe VBX 15.00 2450 Probe 40.00 1338 RoText +OCX 15.00 1339 RoText 35.00 1272 SoundX +OCX 15.00 1273 SoundX 30.00 3482 Tips +OCX 25.00 3483 Tips 55.00 9526 Validate OCX 25.00 9527 Validate 60.00 2529 Ver VBX 20.00 2530 Ver 50.00 4034 Wave +OCX 15.00 4035 Wave 40.00 1595 ZipInf +OCX 15.00 1596 ZipInf 35.00 2909 Mega Pack 90.00 2910 Mega Pack 190.00 9916 Mega Pack 2 179.00 9917 Mega Pack 2 399.00 10281 MIDI I/O +OCX 40.00 10282 MIDI I/O 120.00 10284 MIDIFile +OCX 40.00 10285 MIDIFile 120.00 10289 Indicator +OCX 15.00 10291 Indicator 40.00 10293 Knob +OCX 20.00 10294 Knob 45.00 10286 Slider +OCX 20.00 10288 Slider 45.00 9525 MIDI Pack +OCX 99.00 9528 MIDI Pack 299.00 6389 ASocket OCX& 35.00 9056 Socket 90.00 6392 Finger OCX& 20.00 9059 Finger 50.00 6393 FTP OCX& 35.00 9060 FTP 90.00 6390 GetHst OCX& 15.00 9057 GetHst 30.00 6394 Gopher OCX& 35.00 9061 Gopher 90.00 6395 Mail OCX& 40.00 9062 Mail 120.00 6964 News OCX& 35.00 9064 News 90.00 10417 RAS OCX 20.00 10418 RAS 50.00 6524 Time OCX& 20.00 9063 Time 50.00 6391 WhoIs OCX& 20.00 9058 WhoIs 50.00 9065 Internet Pack 129.00 9066 Internet Pack 359.00 OCX+ includes VBX, OCX-16, and OCX-32. OCX& includes VBX and OCX-32. Source code is written in C (C++ for OCXes) and is not returnable. Prices are subject to change at any time. MABRY SOFTWARE ORDER FORM Mabry Software 1-800-99-MABRY Phone: 206-634-1443 Post Office Box 31926 CIS: 71231,2066 GO MABRY Seattle, WA 98103-1926 USA Internet: mabry@mabry.com Fax: 206-632-0272 Web: www.mabry.com NAME: COMPANY: STREET ADDRESS: (We need your mailing address so we can send up- grade instructions to you.) CITY: STATE/PROVINCE: COUNTRY: ZIP/POSTAL CODE: PHONE: FAX: MC/VISA: EXPIRATION DATE: E-MAIL ADDRESS(ES): For Internet e-mail, indicate MIME or UU: (If necessary, please ask your Internet provider) ID# CONTROL NAME QTY PRICE TOTAL INTERNAT'L ORDERS: ADD $5.00 per control or package: North American E-MAIL DELIVERY: Deduct $5.00 per control or package: (E-mail orders are paperless: i.e. no receipt,etc.) SUB TOTAL OF ORDER: SHIP/HANDLING (for all non-E-mail orders): Add $5 USPS Air Mail, $10 for 2nd day, $15 for next day (US only), $45 International Express; (Mail orders include manual and disk) WASHINGTON RESIDENTS ADD 8.2% TAX: TOTAL: (Checks/money orders must be in US$ drawn on a US bank) Make payable to Mabry Software (You can also order using wire funds transfer and IMO) Fully functional samples of our controls (including VB project examples) are on our WEB site, www.mabry.com and on CompuServe (GO MABRY).